package com.hospital.workstation.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.hospital.common.core.validate.AddGroup;
import com.hospital.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

import java.util.Date;
import java.util.List;

import com.hospital.common.core.domain.BaseEntity;

/**
 * 中医证型方剂信息业务对象 hospital_tcm_prescription
 *
 * @author whb
 * @date 2023-06-20
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TcmPrescriptionBo extends BaseEntity {

    /**
     * 方剂表ID
     */
    // @NotNull(message = "方剂表ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 编号
     */
    // @NotNull(message = "编号不能为空", groups = { EditGroup.class })
    private String illnessNo;

    /**
     * 疾病名称
     */
    // @NotBlank(message = "疾病名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String illnessName;

    /**
     * 症候名称
     */
    // @NotBlank(message = "症候名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String symptomName;

    /**
     * 治法
     */
    // @NotBlank(message = "治法不能为空", groups = { AddGroup.class, EditGroup.class })
    private String therapy;

    /**
     * 方剂名称
     */
    // @NotBlank(message = "方剂名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String prescriptionName;

    /**
     * 君药
     */
    // @NotBlank(message = "君药不能为空", groups = { AddGroup.class, EditGroup.class })
    private String monarchDrug;

    /**
     * 方剂组成与剂量
     */
    // @NotBlank(message = "方剂组成与剂量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String compositionAndMeasurement;

    /**
     * 方剂加减
     */
    // @NotBlank(message = "方剂加减不能为空", groups = { AddGroup.class, EditGroup.class })
    private String addAndSubtract;

    /**
     * 症状与体征
     */
    // @NotBlank(message = "症状与体征不能为空", groups = { AddGroup.class, EditGroup.class })
    private String symptomAndSign;

    /**
     * 中药饮片药名集合
     */
    private List<String> traditionalNameList;
}
